/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package model;

import Model.Animals.Animal;
import Model.Animals.BodyPart.Wing;
import Model.Animals.Lion;
import Model.Cages.Cage;
import Model.Cages.CageLand;
import Model.Player;

/**
 *
 * @author Tam
 */
public class Main {
    public static void main(String[] args) {
        
        Player gamer = new Player("Gamer", 20000);
        Cage c1 = new CageLand(10, "Lion Case", 10, 10);
        System.out.println("Purchase a Case");
        gamer.purchaseCase(c1);
        System.out.println("Gamer's Balance: " + gamer.getBalance());

        Animal a1 = new Lion();
        Thread t1 = new Thread(a1);
//        t1.start();
        Animal a2 = new Wing(new Lion());
        Thread t2 = new Thread(a2);
        //t2.start();

        if (gamer.purchaseAnimal(c1, a2)) {
            System.out.println(a2.getDescription() + ", cost: " + a2.calCost());
            System.out.println("Success to Purchase");
        } else {
            System.out.println("Fail to purchase");
        }

        if (gamer.purchaseAnimal(c1, a1)) {
            System.out.println(a1.getDescription() + ", cost: " + a1.calCost());
            System.out.println("Success to Purchase");
        } else {
            System.out.println("Fail to purchase");
        }
        System.out.println("Gamer's Balance: " + gamer.getBalance());

        gamer.upgradeAnimal(c1, a1);
        System.out.println("Gamer's Balance: " + gamer.getBalance());
        gamer.upgradeCase(c1);
        System.out.println("Gamer's Balance: " + gamer.getBalance());
        Game game = new Game ();
        game.CreateVisitor(5);
               
    }
}
